A web 2.0 application may be described as one that enables users to share information and collaborate on the World Wide Web (WWW) through a social media dialogue by creating/updating data objects. The social media dialogue may take place via social networking sites, blogs, wikis, video sharing sites, hosted services, web applications, mashups, folksonomies, etc.
In a web 2.0 application, a user may obtain a copy of a data object, and it is common for a user change to the copy of the data object through a User Interface (UI) or a widget does not apply the user change to the underneath data object (i.e., the original data object) until the user explicitly instructs the UI or widget to apply the user change. This allows for a more interactive environment.
For instance, in a dialogue or a similar widget, changes that a user has made to copies of data objects are not applied to original data objects that the dialogue operates on until the user clicks an “OK” button. A caching mechanism allows the temporary changes to be cached or stored somewhere in the memory, and the changes are applied to the data objects only when the user wants to do so.
Some conventional systems embed the caching logic directly in individual widgets that operate on specific data objects or have a centralized caching mechanism that depends on extensive copying or cloning.